import pdfplumber
import os
# 将PDF文件转换为文本
def pdf2text(filePath):
    pdf = pdfplumber.open(filePath)
    text = ''
    for page_num in range(0,len(pdf.pages)):
        page = pdf.pages[page_num]
        text = text + page.extract_text()
    pdf.close()
    return text
# 批量解析PDF文件 生成txt文件
def batchConvertPDF(pdfDirPath,textDirPath):
    fileList = os.listdir(pdfDirPath) # 获取文件夹下的所有文件列表
    # 批量转换
    for filename in fileList:
        # 生成pdf文件名
        text = pdf2text(pdfDirPath + "\\" + filename)  # 将PDF转换为text
        filename = filename[:filename.rfind('.')]      # 截取文件的前缀
        # 将text保存为文本文件
        with open(textDirPath + "\\" +  filename + "_text.txt",'w') as textFile:
            textFile.write(text)
            
pdfDirPath = 'D:\\python_practice_pdf'      # pdf文件目录
textDirPath = 'D:\\pdf_text'                # text文件目录

batchConvertPDF(pdfDirPath,textDirPath)     #调用转换方法
